/*====================================================================================================*/
/*====================================================================================================*/
#include "stm32f4_system.h"
#include "stm32f4_usart.h"
/*====================================================================================================*/
/*====================================================================================================*
**函數 : UART_SendByte
**功能 : 發送 1Byte 資料
**輸入 : USARTx, *SendData
**輸出 : None
**使用 : UART_SendByte(USART1, 'A');
**====================================================================================================*/
/*====================================================================================================*/
void UART_SendByte( USART_TypeDef *USARTx, u8 SendData )
{
  USART_SendData(USARTx, SendData);
  while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);
}
/*====================================================================================================*/
/*====================================================================================================*
**函數 : UART_RecvByte
**功能 : 接收 1Byte 資料
**輸入 : USARTx
**輸出 : RecvByte
**使用 : RecvByte = UART_RecvByte(USART1);
**====================================================================================================*/
/*====================================================================================================*/
u8 UART_RecvByte( USART_TypeDef *USARTx )
{
  while(USART_GetFlagStatus(USARTx, USART_FLAG_RXNE) == RESET);

  return USART_ReceiveData(USARTx);
}
/*====================================================================================================*/
/*====================================================================================================*
**函數 : UART_SendData
**功能 : 發送資料
**輸入 : USARTx, *SendData, DataLen
**輸出 : None
**使用 : UART_SendByte(USART1, SendData, DataLen);
**====================================================================================================*/
/*====================================================================================================*/
void UART_SendData( USART_TypeDef *USARTx, u8 *SendData, u16 DataLen )
{
  do {
    USART_SendData(USARTx, *SendData);
    while(USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);
    SendData++;
    DataLen--;
  } while(DataLen);
}
/*====================================================================================================*/
/*====================================================================================================*
**函數 : UART_RecvData
**功能 : 接收資料
**輸入 : USARTx, *RecvData, DataLen
**輸出 : None
**使用 : UART_RecvData(USART1, RecvData, DataLen);
**====================================================================================================*/
/*====================================================================================================*/
void UART_RecvData( USART_TypeDef *USARTx, u8 *RecvData, u16 DataLen )
{
  do {
    while(USART_GetFlagStatus(USARTx, USART_FLAG_RXNE) == RESET);
    *RecvData = USART_ReceiveData(USARTx);
    RecvData++;
    DataLen--;
  } while(DataLen);
}
/*====================================================================================================*/
/*====================================================================================================*/
